<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    


<script>
// ES5新增的数组方法：

// var arr1 = [1,2,3,4];

// var res1 = arr1.forEach(function (item,index,arr){
//     console.log( item );// 1 2 3 4 数组的元素
//     console.log( index );// 0 1 2 3 元素的索引，可选
//     console.log( arr );// [1, 2, 3, 4] 遍历的数据，可选
// })
// console.log( res1 );// undefined


// // 2.map()用于遍历数组，返回一个新的数组
// var res2 = arr1.map(function (item,index,arr){
//     return item+2;
// })
// console.log( res2 );// [3, 4, 5, 6]
// console.log( arr1 );// [1, 2, 3, 4]


// 3.filter()用于过滤数组，返回一个新的数组
var datas = [
    {name:'小王',age:17,sex:'女'},
    {name:'老王',age:31,sex:'男'},
    {name:'小张',age:20,sex:'女'},
    {name:'小严',age:15,sex:'男'}
];
// 需求：将datas里面未成年的用户过滤出来
var res3 = datas.filter(function (item,index,arr){
    // 返回的布尔值为true时，当前的item被放入返回的新数组中
    return item.age < 18;
})
console.log( res3 ); //[{…}, {…}]


// 4.some()用于检测数组中是否有元素符合指定条件，只要有一个元素符合条件则返回true，否则返回false （some类似逻辑或）
/* var datas = [
    {name:'小王',age:17,sex:'女'},
    {name:'老王',age:31,sex:'男'},
    {name:'小张',age:20,sex:'女'},
    {name:'小严',age:15,sex:'男'}
];
var res4 = datas.some(function (item){
    return item.age >= 30;
})
console.log( res4 );// true */


// 5.every()用于检测数组中每一个元素是否都符合指定条件，只要有一个元素不符合条件则返回false，否则返回true （every类似逻辑与）
// var datas = [
//     {name:'小王',age:17,sex:'女'},
//     {name:'老王',age:31,sex:'男'},
//     {name:'小张',age:20,sex:'女'},
//     {name:'小严',age:13,sex:'男'}
// ];
// var res5 = datas.every(function (item){
//     return item.age >= 15;
// })
// console.log( res5 );// false

</script>
</body>
</html>

